1. Field of the Invention
This invention relates to the field of computer software, and, more specifically, to electronic mail applications.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Java, JavaBeans, HotJava and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
2. Background Art
With the proliferation of personal computers and communications networks, electronic mail, commonly referred to as “e-mail,” has become a popular mechanism for the exchange or distribution of information among individuals, and within or between enterprises, for both private and commercial purposes. An e-mail message may be generated by a “sender” using an email application on the sender's computer system, and transmitted over a communications network to a “receiver” on another computer system. The receiver is able to view the e-mail message using his own e-mail application.
One utility of many e-mail systems is the ability to “attach” previously authored information to an e-mail message. These “attachments” are transmitted with the e-mail message. Common forms of attached information include text files, graphics files and other forms of bounded data. With the development of the World Wide Web (WWW), also referred to simply as “the web”, e-mail attachments have expanded to include web pages (e.g., HTML (hypertext markup language) documents) and URL's (universal resource locators) for web pages. These attachments are typically identified during construction of an e-mail message by typing or pasting the name of the file or the URL of the web page in a dialog entry window, or by perusing a file directory in order to select a file from a hierarchical list. Unfortunately, there is no mechanism within the e-mail application for previewing an attachment prior to selection, or for browsing for an attachment. This presents a particular disadvantage when selecting attachments associated with the World Wide Web, as a hierarchical list of linked web pages is typically not available and a user may not know the URL of a specific web page offhand. E-mail applications and the associated drawbacks may be better understood from an overview of electronic mail with reference to a known e-mail application.
Electronic Mail
An e-mail message may be analogized to a posted letter or piece of mail. However, instead of a physical object that is itself physically transported from a sender to a receiver, an e-mail message is an electronic representation that is communicated electronically through a communications network. Examples of communications networks used for communicating e-mail messages include, but are not limited to, tel-com networks, wide area networks (WANs), local area networks (LANs), the Internet, the World Wide Web, intranets, extranets, wireless networks, and other networks over which electronic, digital, and/or analog data may be communicated.
E-mail messages are created, sent, received, and read using a communications program, often referred to as a “mail” or “e-mail” application program. An image of an interface of one e-mail program is illustrated in FIG. 2. The example is the interface of the mail module of Netscape Communicator, an internet browser application. The interface consists of a window 200 with a row of control buttons 201-210 across the top, headers 212-215 below the buttons, and a field that displays a list of messages. In the example of FIG. 2, the list indicates a single message 216 represented by an icon with adjacent text indicating the subject, namely “Meeting on the 20th”, from “Sender” and created at 9:20 PM.
The buttons are used to create and modify messages. Button 201, “Get Msg” is used to open a message that has been selected in the list (messages can also be opened by double clicking on them). Button 202, “New Msg” is used to create a new message form that can be completed and mailed to a receiver. “Reply” button 203 is used to generate a reply form to a message that is currently in view. When activated, a message form is generated that has as its address the address of the sender of the message being viewed. Optionally, the reply message may include the entire text of the sender's message. “Forward” button 204 generates a message form that includes the sender's message, but with a blank address, so that the message may be optionally annotated and forwarded to another receiver.
Button 205, “File”, is used to save a message into a file in a text or other format. Button 206, “Print”, is activated to print the message on an attached printer. “Security” button 208 activates security options for a message such as encryption, use of a digital certificate, or digital signature features, for example. Messages can be deleted by the “Delete” button 209. “Stop” button 210 is used to interrupt or stop operations.
Headers above the message list indicate such information as “Subject” 212, “To/From” 213, “Date” 214, and “Priority” 215. Messages in the list can be sorted by subject, by sender or receiver, by ascending or descending date, by urgency, or by any combination thereof.
An e-mail message generated using the example mail program of FIG. 2 is illustrated in FIG. 3. The e-mail message 216 includes a palette of buttons 301-306, along with buttons 208 and 210 from FIG. 2. An address field 307 indicates that the message is being sent to “Receiver@receiver.com”. A subject field 308 shows the subject as “Meeting on the 20th”. The body of the message is displayed in field 309.
The “Send” button 301 is activated to initiate the transmission of the message from the sender to the receiver. The “Quote” button 302 is used to insert the body of the text from a previous message into the body 309 of a current message. The “Address” button 303 prompts the sender to enter an address of the receiver or to select an address from some stored address book. The “Spelling” button 305 performs a spell check on the message text, and the “Save” butt on 306 is used to save a message as a text file.
The “Attach” button 304 is used to attach one or more electronic files to the e-mail message. Often a sender wishes to send one or more files to a receiver. One method of sending a file to a receiver would be to copy the information from the file (e.g. the text from a text file) and paste that information into the message field 309 of an e-mail message. If the file is large, this may not be possible. Some e-mail systems have limitations on the size of the body of an e-mail message so that some files may be too large to be entered into the body of an e-mail message. In other cases, the files represent non-text data, such as sound, images, or movies, for example, that cannot be easily pasted into an e-mail message. In such circumstances, the attach feature is used.
When the attach button 304 is activated, a dialogue box appears that allows the sender to navigate through a file system and select files to be attached to the e-mail message. Navigation is typically performed using a hierarchical list of file names. After one or more files are selected, the sender transmits the e-mail message and attached file(s) to a receiver. When the receiver reads the message, there is an indicator that one or more files are attached. The receiver activates the attach button and is presented with a dialogue box that enables the receiver to retrieve the attached file or files and place them somewhere in the receiver's file system.
When a sender wishes to attach HTML documents and other web-based information to an e-mail message, the sender uses the hierarchical list of file names to locate the desired document, or the sender specifies, such as through a text entry mechanism, a URL for each HTML document. Each web page is comprised of one or more separate files in a file system. These files can include, for example, an HTML document and text, graphics and sound files identified by “tags” within the HTML document. Web pages are typically linked to other web pages via embedded URL's. In many cases, dozens of web pages are linked to each other to form a related presentation of data. To send such linked pages using e-mail, each page is attached to an e-mail message for sending to a receiver.